package com.zcsy.manage.persistence.system;

import java.util.List;
import java.util.Map;

import com.zcsy.manage.model.system.App;

/**
 * APP版本管理有关查询方法
 */
public interface AppDao {
	
    /**
     * @Description:获取所有的app信息
     * @return: app信息集合
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    List<App> getAll();
    
    /**
     * @Description:更新app信息
     * 更新app信息包括：版本号,类型,更新内容
     * @param app对象
     * @return:  操作结果： 1、成功，0、失败
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    int updateApp(App app);
    
    /**
     * @Description:根据id删除app信息
     * @param id appx信息id
     * @return: 操作结果： 1、成功，0、失败
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    int deleteApp(String id);
    
    /**
     * @Description:根据id取app信息
     * @param id appx信息id
     * @return: App app对象
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    App selectByPrimaryKey(String id); 
    
    /**
     * @Description:根据版本号,类型来查询信息
     * @param app app信息对象
     * @return: app信息集合
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    List<App> selectApp(App app);
    
    /**
     * @Description:插入信息
     * @param app app信息对象
     * @return:  插入结果： 1、成功，0、失败
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月14日
     */
    int insertApp(App app);
    
    /**
     * @Description:根据版本号,类型获取app对象
     * @param VersionNo 版本号 type 类型
     * @return: App app对象
     * @Version: 
     * @author: fangli Fanglwj520@163.com
     * @Date: 2016年5月17日
     */
    App getAppInfoByVersionNo(Map<String, Object> map);
    
    /**
	 * @Description 通过客户端类型查询版本信息对象
	 * @param type 客户端类型
	 * @return 版本信息对象
	 * @author liuying 1075817474@qq.com
	 * @date 2016年6月13日
	 * @see 
	 */
	App getAppInfoByType(Integer type);
    
}